/*
* @Author: Someu
* @Date:   2017-11-29 02:13:12
* @Last Modified by:   Someu
* @Last Modified time: 2017-12-03 22:05:04
*/

var Hogan = require('hogan');
var conf = {
    serverHost : ''
};
var _mm = {
    request : function(param){
        var _this = this;
        $.ajax({
            type        : param.methon || 'get',
            url         : param.url || '',
            dataType    : param.type || 'json',
            data        : param.data || '',
            success     : function(res){
                //请求成功
                if(0 === res.status){
                    typeof param.success === 'function' && param.sunccess(res.data, res.msg);
                }
                //没有登录状态，需要强制登录
                else if(10 === res.status){
                    _this.doLogin();
                }
                //请求数据错误
                else if(1 === res.status){
                    typeof param.error === 'function' && param.error(res.msg);
                }
            },
            error       : function(err){
                typeof param.error === 'function' && param.error(err.status);
            }
        });
    },
    //统一登录处理
    doLogin : function(){
        //传入当前路径
        window.location.href = './user-login.html?redirect='+encodeURIComponent(window.location.href);
    },
    //返回主页
    goHome : function(){
        window.location.href = './index.html';
    },
    //测试是否导入
    doTest : function(){
        return "test";
    },
    //获取服务器地址
    getServerUrl : function(path){
        return conf.serverHost + path;
    },
    //获取url参数
    getUrlParam : function(name){
        
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        var result = window.location.search.substr(1).match(reg);
        return result ? result[2] : null;
    },
    //成功展示
    successTips : function(msg){
        alert(msg || '操作成功！');
    },
    //错误提示
    errorTips : function(msg){
        alert(msg || '哪里出错了!');
    },
    //渲染html模板
    renderHtml : function(htmlTemplate, data){
        var template = Hogan.compile(htmlTemplate),
            result = template.render(data);
        return result;
    },
    //字段的验证，非空、手机号、邮箱
    validata : function(value, type){
        var value = $.trim(value);
        //非空验证
        if('require' === type){
            return !!value;
        }
        //手机号验证
        if('phone' === type){
            return /^1\d{10}$/.test(value);
        }
        //邮箱格式验证
        if('email' === type){
            return /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/.test(value);
        }
    }
}

module.exports = _mm;